﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entidades;
using Negocio;


namespace Precentacion1
{
    public partial class frmGestionProducto : Form
    {
        private enum Modo
        {
            Agregar,
            Modificar,
        }

        private int codProdOriginal = 0;

        private Modo Modalidad;

        public frmGestionProducto()
        {
            InitializeComponent();
            this.Configurar();
            Modalidad = Modo.Agregar;
            this.textBoxCodProducto.Visible = false;
            this.labelCodProd.Visible = false;
        }

        public frmGestionProducto(Producto paramProducto)
        {
            InitializeComponent();
            this.Configurar();
             Modalidad = Modo.Modificar;
             codProdOriginal = paramProducto.CodigoProducto;
            this.textBoxCantidad.Text = paramProducto.cantidad.ToString();
            this.textBoxDescripcion.Text = paramProducto.Descripcion;
            this.textBoxMarca.Text = paramProducto.Marca;
            this.textBoxModelo.Text = paramProducto.Modelo;
            this.textBoxPrecio.Text = paramProducto.Precio.ToString();
            this.textBoxNombreProducto.Text = paramProducto.NombreProducto;
            this.textBoxCodProducto.Text = paramProducto.CodigoProducto.ToString();


            
        }

        private void Configurar()
        {
            this.StartPosition = FormStartPosition.CenterParent;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
            this.ShowIcon = false;
            this.MinimizeBox = false;
            this.MaximizeBox = false;
            this.ShowInTaskbar = false;
            this.AcceptButton = this.btnAceptar;
            this.CancelButton = this.btnCancelar;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
           
            
        
                Producto objProducto;
                switch (Modalidad)
                {
                    case Modo.Agregar:
                        
                            objProducto = new Producto(this.textBoxMarca.Text , this.textBoxModelo.Text , this.textBoxNombreProducto.Text , Convert.ToDecimal(this.textBoxPrecio.Text),Convert.ToInt32(this.textBoxCantidad.Text),this.textBoxDescripcion.Text);
                            admProductos.Insertar(objProducto);
                   
                        break;
                    case Modo.Modificar:
                     
                     
                            objProducto = new Producto(this.textBoxNombreProducto.Text.ToString(), this.textBoxMarca.Text.ToString(), this.textBoxModelo.Text.ToString(), Convert.ToDecimal(this.textBoxPrecio.Text), Convert.ToInt32(this.textBoxCantidad.Text), this.textBoxDescripcion.Text,Convert.ToInt32(this.textBoxCodProducto.Text));
                            admProductos.Modificar(objProducto);
                       
                     
                        break;
                }
                
                
        
        }
        

        private void frmProducto_Load(object sender, EventArgs e)
        {

        }

        private void textBoxMarca_TextChanged(object sender, EventArgs e)
        {

        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

    }
}
